Digital systems of all types require interconnection. For example, internal and external devices may need to be connected to each other in a digital system such as a computer system, computer systems may need to be connected to each other for high-bandwidth computer-computer communication as in high-powered computing clusters, and network devices in general need to communicate over a network. In all of these, the trend is toward high speed, point-to-point interconnection, and the use of packet switching techniques to exchange data. There are several advantages to this type of technology, including the ability to have an interconnect that is dynamically routable, scalable, reliable and robust in the presence of individual connection failures.
One specific means of achieving some of these advantages is the use of multiple, aggregated connections. The advantages of aggregation include support for scaling in bandwidth by scaling the size of the aggregation; the possibility of graceful degradation because remaining active connections in the aggregation can continue to serve as an interconnect even after one or more connections fail; the capability of devices to scale downward as well as upward, allowing a device to communicate with another that is incapable of supporting the full bandwidth of the first device by using a smaller aggregation of connections between the devices.
In systems where the identity and capability of devices to be interconnected in this manner are known, designing the aggregations of connections may be done in advance. However such aggregation may not be done in advance if the actual devices to be interconnected may change on the fly and devices capable of supporting different bandwidths are potentially likely to be connected to each other.